package com.example.utils;

import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

public class JSONUtil {

	/**
	 * @方法名：objToJsonStr
	 * @方法描述:对象转json字符串
	 * @param object
	 * @return
	 * @修改描述:对象转json字符串
	 * @版本：1.0
	 * @创建人：李凯
	 * @创建时间：2020年10月29日 下午5:08:49
	 * @修改人：李凯
	 * @修改时间：2020年10月29日 下午5:08:49
	 */
	public static String objToJsonStr(Object object) {
		Gson gson = new Gson();
		String s = gson.toJson(object);
		return s;
	}

	/**
	 * @方法名：jsonStrToObject
	 * @方法描述:json字符串转对象
	 * @param <T>
	 * @param jsonStr
	 * @param clazz
	 * @return
	 * @修改描述:
	 * @版本：1.0
	 * @创建人：李凯
	 * @创建时间：2020年10月29日 下午5:10:18
	 * @修改人：李凯
	 * @修改时间：2020年10月29日 下午5:10:18
	 */
	public static <T> T jsonStrToObject(String jsonStr, Class<T> clazz) {
		Gson gson = new Gson();
		T t = gson.fromJson(jsonStr, clazz);
		return t;
	}

	/**
	 * @方法名：jsonStrToJsonObject
	 * @方法描述:json字符串转JsonObject
	 * @param jsonStr
	 * @return
	 * @修改描述:
	 * @版本：1.0
	 * @创建人：李凯
	 * @创建时间：2020年10月29日 下午5:17:07
	 * @修改人：李凯
	 * @修改时间：2020年10月29日 下午5:17:07
	 */
	@SuppressWarnings("deprecation")
	public static JsonObject jsonStrToJsonObject(String jsonStr) {
		return new JsonParser().parse(jsonStr).getAsJsonObject();
	}

	/**
	 * @方法名：jsonStrToJsonArray
	 * @方法描述:json字符串转JsonArray
	 * @param jsonStr
	 * @return
	 * @修改描述:
	 * @版本：1.0
	 * @创建人：李凯
	 * @创建时间：2020年10月29日 下午5:25:57
	 * @修改人：李凯
	 * @修改时间：2020年10月29日 下午5:25:57
	 */
	@SuppressWarnings("deprecation")
	public static JsonArray jsonStrToJsonArray(String jsonStr) {
		JsonParser parser = new JsonParser();
		JsonArray array = parser.parse(jsonStr).getAsJsonArray();
		return array;
	}
}
